<?php

namespace library\Router;

/**
 * Description of Simple
 *
 * @author Damian Jóźwiak
 */
class Simple extends Route{
    public function matches($url) {
        $pattern = $this->pattern;
        //pobranie kluczy
        preg_match_all("#:([a-zA-Z0-9]+)#", $pattern,$keys);
        if (sizeof($keys) && sizeof($keys[0]) && sizeof($keys[1])){
            $keys= $keys[1];
        }
        else {
            //nie ma kluczy we wzorcu więc proste dopasowanie
            return preg_match("#^{$pattern}$#", $url);
        }
        //normalizacja wzorca trasy 
        preg_match_all("#^{$pattern}$#", $url, $values);
        
        if (sizeof($values) && sizeof($values[0]) && sizeof($values[1])){
            //usunięcie elementu dopasowanego URL
            unset ($values[0]);
            //znaleziono wartości a więc modyfikujemy parametry i wykonujemy zwrot
            $derived = array_combine($this->keys, $values[1]);
            $this->parameters = array_merge($this->parameters,$derived);
            return true;
        }
        return false;
    }
}
